Micron Document
✓ RNS 1.4.2 released https://pypi.org/project/rns/

🬤 rns.recipes

Forum / Showcase / Thread / Export

Markdown export · rnns-friendly-name-to-rnid-tool.md

Copy the block below or save it to a .md file.


# rnns: friendly name to rnid tool

_Showcase · started by qbit on Tue, May 12, 2026 8:45 PM_

---

## Original post

**qbit** · Tue, May 12, 2026 8:45 PM

`rnns` is an extremely simple script that helps one locally resolve names to
RNIDs.

``` sh
#!/bin/sh

RN_NAME_FILE=${RN_NAME_FILE:-~/.rnns}

function usage() {
echo "rnns [-h] friendly_identifier"
}

while getopts h name; do
case $name in
h)
usage
exit 0
;;
*)
usage
exit 1
esac
done

if [ -z "$1" ]; then
usage
exit 1
fi

awk -v entry="$1" '{ for (i=NF; i>1; i--) { if ($i == entry) { print $1} } }' $RN_NAME_FILE
```

For example usage, one can add an entry for the official Reticulum signing key:

```
bc7291552be7a58f361522990465165crns-sig
```

Now you can use it by calling `rnns` with the string `rns-sig`:

``` sh
% rnid -i $(rnns rns-sig) -V nomadnet-1.0.4.tar.gz
Recalled Identity <bc7291552be7a58f361522990465165c>
Signature is valid, the file nomadnet-1.0.4.tar.gz was signed by <bc7291552be7a58f361522990465165c>
%
```

You can even add multiple aliases for a single entry:

```
0cc65124b72a5fdec6dcc14241bb8108openbsd.app openbsd app
```

All three of the above "resolve" to `0cc6...`!

Hope someone finds it useful!

---

## Reply 1

**qbit** · Tue, May 12, 2026 8:48 PM

alternative link to the script: 3b5bc6888356193f1ac1bfb716c1beef:/file/rnns

---

## Reply 2

**sprell** · Tue, May 12, 2026 10:51 PM

3b5bc6888356193f1ac1bfb716c1beef... beef...

---

## Reply 3

**Mark** · Wed, May 13, 2026 8:41 AM

That's nice! Thanks qbit!

---

## Reply 4

**joakim** · Wed, May 13, 2026 10:48 AM

Nice one!

Follow-up idea: Have all CLI tools of RNS support a `.reticulum/aliases` file, similar to SSH aliases.

Or maybe an `rnalias` tool for managing `.reticulum/storage/aliases`, if not a part of `rnid` itself?

---

## Reply 5

**Anonymous** · Thu, Jun 25, 2026 6:57 PM

**joakim** wrote:
> Nice one!
>
> Follow-up idea: Have all CLI tools of RNS support a `.reticulum/aliases` file, similar to SSH aliases.
>
> Or maybe an `rnalias` tool for managing `.reticulum/storage/aliases`, if not a part of `rnid` itself?

That would be super nice. How do people manage their identities I wonder. Keep a list somewhere and copy paste of needed?

---

## Reply 6

**qbit** · Wed, Aug 5, 2026 4:34 PM

Here's an updated version that has support for rngit aliases:

```
#!/bin/sh

# rnns is a utility that can be used to associate a name to a reticulum identity.
# the ~/.rnns file is similar to /etc/hosts, one rnid per line, multiple names
# can bee added at the end:
# abcdething thing.stuff
#
# It also supports pulling aliases from ~/.rngit/client_config.

RN_NAME_FILE=${RN_NAME_FILE:-~/.rnns}

usage() {
echo "rnns [-h] friendly_identifier"
}

while getopts h name; do
case $name in
h)
usage
exit 0
;;
*)
usage
exit 1
;;
esac
done

if [ -z "$1" ]; then
usage
exit 1
fi

RNNF_ENTRY="$(awk -v entry="$1" '{ for (i=NF; i>1; i--) { if ($i == entry) { print $1} } }' $RN_NAME_FILE)"
if [ "$RNNF_ENTRY" == "" ]; then
if [ -r ~/.rngit/client_config ]; then
awk -v entry="$1" '{ if ($1 == entry) {print $3} }' ~/.rngit/client_config
fi
else
echo $RNNF_ENTRY
fi
```

---

## Reply 7

**qbit** · Wed, Aug 5, 2026 4:36 PM

http mirror: https://paste.suah.dev/rnns
rns mirror: 3b5bc6888356193f1ac1bfb716c1beef:/file/rnns

---

## Reply 8

**bergie** · Wed, Aug 5, 2026 6:26 PM

It might be nice to support comments/notes per alias. Here's how that would look like:
```
3b5bc6888356193f1ac1bfb716c1beef qbit # based on a forum comment
```

Updated AWK line:

```awk
awk -v entry="$1" '{ sub(/#.*/,""); for (i=NF; i>1; i--) { if ($i == entry) { print $1 } } }' "$RN_NAME_FILE"
```

---

## Reply 9

**qbit** · Wed, Aug 5, 2026 8:44 PM

Nice, thanks! maybe I shuold put this in a repo..

---